/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package trabajadores;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFHyperlink;
import org.apache.poi.hssf.usermodel.HSSFRow;

/**
 *
 * @author chaosad 
 */
abstract public class Trabajador {
    protected String ap1;
    protected String ap2;
    protected String nif;
    protected String nombre;
    protected int telefono;
    private Sexo sexo;
    
      public Trabajador()
    {
        
    }
public Trabajador(String nif,
                    String nombre,
                    String ap1,
                    String ap2,
                    int telefono,
                    Sexo sexo)
    {
        this.nif = nif;
        this.nombre = nombre;
        this.ap1 = ap1;
        this.ap2 = ap2;
        this.telefono = telefono;
        this.sexo = sexo;
    }

    abstract public float coste();
   abstract public void insertardatosespecificos(HSSFCell cell, HSSFRow row);

      public void generarExcel(HSSFRow row){
       

        // Se introduce el nombre del país con su enlace a la Wikipedia
        
        HSSFCell cell = row.createCell(0);
        cell.setCellValue(this.getNif());
        cell = row.createCell(1);
        cell.setCellValue(this.getNombre());
        cell = row.createCell(2);
        cell.setCellValue(this.getAp1());
        cell = row.createCell(3);
        cell.setCellValue(this.getAp2());
        cell = row.createCell(4);
        cell.setCellValue(this.getTelefono());
        this.insertardatosespecificos(cell, row);
    }
    
    
    @Override
    public String toString() {
        return "Nif: " + getNif() + "\n" + "Nombre: " 
                + getNombre() + "\n" + "Primer apellido " 
                + getAp1() + "\n" + "Segundo apellido " 
                + getAp2() + "\n" + 
                "Telefono "   + getTelefono() + "\n"
                + "Sexo : " + getSexo() + "\n";
    }
    /**
     * @return the ap1
     */
    public String getAp1() {
        return ap1;
    }

    /**
     * @return the ap2
     */
    public String getAp2() {
        return ap2;
    }

    /**
     * @return the nif
     */
    public String getNif() {
        return nif;
    }

    /**
     * @return the nombre
     */
    public String getNombre() {
        return nombre;
    }

    /**
     * @return the telefono
     */
    public int getTelefono() {
        return telefono;
    }

    /**
     * @param ap1 the ap1 to set
     */
    public void setAp1(String ap1) {
        this.ap1 = ap1;
    }

    /**
     * @param ap2 the ap2 to set
     */
    public void setAp2(String ap2) {
        this.ap2 = ap2;
    }

    /**
     * @param nif the nif to set
     */
    public void setNif(String nif) {
        this.nif = nif;
    }

    /**
     * @param nombre the nombre to set
     */
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    /**
     * @param telefono the telefono to set
     */
    public void setTelefono(int telefono) {
        this.telefono = telefono;
    }

    /**
     * @return the sexo
     */
    public Sexo getSexo() {
        return sexo;
    }

    /**
     * @param sexo the sexo to set
     */
    public void setSexo(Sexo sexo) {
        this.sexo = sexo;
    }

    @Override
public abstract Trabajador clone();
    
}
